package 系统复习.面试题.矩阵;

import java.util.Arrays;
import java.util.List;

/**
 * 给你一个字符串数组 words，如果它能形成一个有效的 单词方块 ，则返回 true 。
 * 有效的单词方块是指此由字符串数组组成的文字方块的 第 k 行 和 第 k 列所显示的字符串完全相同，其中 0 <= k < max(numRows, numColumns) 。
 */
public class L422 {

    public boolean validWordSquare(List<String> words) {

        int n = words.size();
        for (int i = 0; i < n; i++) {
            String s = words.get(i);
            for (int j = 0; j < s.length(); j++) {
                try {
                    if (words.get(i).charAt(j) != words.get(j).charAt(i)) return false;
                } catch (Exception e) {
                    return false;
                }
            }
        }

        return true;
    }

    public static void main(String[] args) {
        L422 l422 = new L422();
        System.out.println(l422.validWordSquare(Arrays.asList("abcd", "bnrt", "crmy", "dtye")));
        System.out.println(l422.validWordSquare(Arrays.asList("ball","asee","let","lep")));
    }
}
